package com.roads.supervisor.service;

import com.roads.supervisor.domain.summary.SupSummaryRecord;
import com.roads.supervisor.domain.summary.SupSummaryRecordUserVo;
import com.roads.supervisor.domain.summary.SupSummaryVo;

import java.util.List;

/**
 * @ClassName ISummaryService
 * @Description 监理汇总service接口
 * @Author nhp
 * @Date 2022/7/14 0014 17:57
 * @Version 1.0.0
 **/
public interface ISupSummaryService {

    /**
     * 获取汇总记录
     *
     * @param summaryRecord 汇总记录
     * @return 汇总记录
     */
    SupSummaryRecord getSummaryRecord(SupSummaryRecord summaryRecord);

    /**
     * 根据机构编号，工期获取汇总用户集合
     *
     * @param institutionCode 机构编号
     * @param periodName 工期
     * @return 汇总用户集合
     */
    List<SupSummaryRecordUserVo> selectSummaryRecordUserList(String institutionCode, String periodName);

    /**
     * 查询当前登录用户在监理计量流程节点出现的次数
     * @param user 当前登录用户
     * @return 数量
     */
    int getCountWorkflowNodeUser(String user);

    /**
     * 获取汇总批复记录
     *
     * @param institutionCode 机构编号
     * @param periodName 工期
     * @return 汇总记录
     */
    SupSummaryRecord getSummaryRecordByApprove(String institutionCode, String periodName);

    /**
     * 查看汇总是否批复
     *
     * @param institutionCode 机构编号
     * @param periodName 工期
     * @return 是否批复
     */
    boolean getSummaryIsApprove(String institutionCode, String periodName);

    /**
     * 数据汇总
     *
     * @param model 汇总对象
     * @return 结果
     */
    int summary(SupSummaryVo model);

}
